home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_200 / 284_01 / prog.doc < prev    next >
Encoding:
Text File  |  1989-03-11  |  2.3 KB  |  55 lines

  1. Description of I8080
  2.  
  3.  
  4.     Program I8080 reads and executes Intel 8080 machine instructions.
  5.     The program is written all in C and special care is taken 
  6.     towards the portability of the program by separating hardware or OS 
  7.     dependent modules from the main part of the program.
  8.  
  9.     These kind of programs are normally written in assembly.
  10.     However, I used C in this project to make the program more portable 
  11.     sacrificing the speed. Even so, I still tried to make it run faster for
  12.     the practical use, not only for educational use.
  13.     For example, when the program executes an instruction related with 
  14.     flags, it doesn't simulate 8080 step by step exactly. Instead, it 
  15.     takes such a path that the result would be same.
  16.  
  17.     The program not only executes 8080 instructions but traces the execution
  18.     of instructions and it can collect the information of executed 
  19.     instructions. This feature makes debugging of programs and 
  20.     accurately measuring an execution time possible.
  21.  
  22.     The program provides all features of I8080. Among those are instructions
  23.     that access to I/O ports and the program can simulate 
  24.     peripheral LSIs, although it cannot simulate their interrupts.
  25.     (However, you can use RST instruction in your program.)
  26.     The module corresponding to POP PSW instruction has a minor 
  27.     incompatibility    because the program processes flags faster. 
  28.     The program executes all programs for 8080 with the exception that
  29.     the program stops when it tries to execute undefined instructions
  30.     (8080 requires some action to proceed).
  31.  
  32.     I8080 provides an interface between CP/M and the host operating system
  33.     by assigning functions corresponding to CP/M BIOS to an undefined 
  34.     8080 instruction.
  35.     This instruction is;
  36.         ED ED nn
  37.     (nn is immediate operand to select a BIOS function.)
  38.     The instruction consists of two bytes of EDs. This happens not only
  39.     in 8080 but also in Z80 and HD-64180 when using undefined instructions.
  40.     If you want to support the simulation of those processors in the 
  41.     future, you can use the same program.
  42.  
  43.     The features discussed above can be used with options. You can 
  44.     specify its on/off when compiling the program. In general, 
  45.     less use of options makes the program smaller and faster.
  46.  
  47.  
  48.     
  49.     
  50.     
  51.     
  52.  
  53.     
  54.     
  55.